#ifndef MAINWINDOW_H
#define MAINWINDOW_H



#include <ItemModel.h>



#include <QMainWindow>



class QAbstractItemView;



namespace Ui {
    class MainWindow;
}



class MainWindow : public QMainWindow
{
    Q_OBJECT

public:

    MainWindow(QWidget *parent = 0);
    ~MainWindow();


protected:

    virtual bool eventFilter(QObject *o, QEvent *e);
    void initializeViews();


private:

    Ui::MainWindow *ui;
    ItemModel*      m_model;


private slots:

    void onTreeViewExpanded(QModelIndex index = QModelIndex());
    void onTreeViewCollapsed(QModelIndex index = QModelIndex());

    void on_actionCreate_Reference_triggered();
    void on_actionCreate_Item_triggered();
    void on_actionCreate_Group_triggered();
    void on_actionAdd_triggered();
    void on_actionDelete_triggered();
    bool on_actionClose_triggered();
    void on_actionQuit_triggered();
    void on_actionSave_As_triggered();
    void on_actionSave_triggered();
    void on_actionOpen_triggered();
    void on_actionNewCharacter_triggered();
    void on_actionNewCampaign_triggered();


};




#endif // MAINWINDOW_H


